package IOLearn;



import org.junit.jupiter.api.Test;

import java.io.*;

/**
 * @author Lenl
 * @version v1.0
 * @create 2021-06-06 6:23
 * @description 数据流
 *
 * 1.DataInputStream与DataOutputStream
 * 2.作用：用于读取或写出基本数据类型的变量或字符串
 *
 * 练习：将内存中的字符串、基本数据类型变量写出到文件中
 * 注意：异常处理应用try-catch-finally
 *
 */
public class DataStreamTest {
    @Test
    public  void test1() throws IOException {
        String path="D:\\Java Learn\\IOLearnTestFile\\test1\\data.txt";
        DataOutputStream dos=new DataOutputStream(new FileOutputStream(path));

        dos.writeUTF("李恩乐");
        dos.writeInt(22);
        dos.writeBoolean(true);
        dos.flush();
        dos.close();
    }

    /**
     * 将文件中存储的基本数据类型变量和字符串读取到内存中，保存在变量中
     * 注意：读取顺序与写入数据顺序需要相同
     * @throws IOException
     */
    @Test
    public void test2() throws IOException{
        String path="D:\\Java Learn\\IOLearnTestFile\\test1\\data.txt";
        DataInputStream dis=new DataInputStream(new FileInputStream(path));
        String name=dis.readUTF();
        int age=dis.readInt();
        boolean isMale=dis.readBoolean();

        System.out.println("name="+name);
        System.out.println("age="+age);
        System.out.println("isMale="+isMale);

        dis.close();
    }
}
